package com.zmn.plat.constant.sendtemplate;

import com.zmn.plat.business.interfaces.sendtemplate.SendSmsInfoBService;

/**
 * 描述：发送消息策略类型 注意枚举描述类型需要与枚举一致，调用ZmnSendSmsInfoBService中注册的策略
 *
 * @author wangjie
 * @since 2020/6/19 9:40
 **/
public enum SendSmsStrategyEnum {

    /**
     * 微信通知
     **/
    WECHAT("WECHAT", SendSmsInfoBService.byWeChat()),
    /**
     * 创蓝短信发送
     **/
    CL("CL", SendSmsInfoBService.byCl()),
    /**
     * 阿里短信发送
     **/
    ALI("ALI", SendSmsInfoBService.byAli()),
    /**
     * 掌上通短信发送
     **/
    ZST("ZST", SendSmsInfoBService.byZst()),

    /**
     * 百度模板消息发送
     **/
    BAIDU("BAIDU", SendSmsInfoBService.byBaiDu());

    public String desc;
    public SendSmsInfoBService notifyMechanism;

    SendSmsStrategyEnum(String desc, SendSmsInfoBService notifyMechanism) {
        this.desc = desc;
        this.notifyMechanism = notifyMechanism;
    }

    public SendSmsInfoBService notifyMechanism() {
        return notifyMechanism;
    }

    public String desc() {
        return desc;
    }

}
